package online.sanen.mhdt.entity;

import java.util.Arrays;

/**
 * 背包
 */
public class Backpack {
    /**
     * 背包空间
     */
    public int space;
    /**
     * 背包最大空间
     */
    public int spaceMax=100;
    public Goods[] goodsArr;

    public Backpack() {
        space=40;
        goodsArr=new Goods[space];
    }

    /**
     * 增加背包空间
     * @return true 增加成功
     */
    public boolean increaseSpace(){
        if(space>=spaceMax)return false;
        Goods[] arr=new Goods[space+20];
        System.arraycopy(goodsArr,0,arr,0,space);
        goodsArr=arr;
        return true;
    }
    public boolean addGoods(Goods goods){
        if(surplus()==0)return false;
        if(goods.numMax==1)goodsArr[position()]=goods;
        return true;
    }

    /**
     * 获取背包未使用的第一个位置
     * @return
     */
    public int position(){
        for (int i = 0; i <goodsArr.length ; i++) {
            if(goodsArr[i]==null)return i;
        }
        return -1;
    }

    /**
     * 丢弃物品
     * @return
     */
    public void remove(int i){
        goodsArr[i]=null;
    }

    /**
     * 剩余空间
     * @return
     */
    public int surplus(){
        int surplus=0;
        for (int i = 0; i < goodsArr.length; i++) {
            if(goodsArr[i]==null)surplus++;
        }
        return surplus;
    }
}
